﻿using System.Collections.Generic;
using Business.Entity.Vendas.Pedido.ClassesRelacionadas;
using NHibernate.Criterion;

namespace Business.Entity.Vendas.MovimentacaoCaixa.SubClass.RecebimentoVenda
{
    public class RecebimentoVendaRepository : RepositoryBase<RecebimentoVenda>
    {
        public static IList<RecebimentoVenda> RecebimentosDia(int caixa)
        {
            return GetSession().CreateCriteria<RecebimentoVenda>().Add(
                Restrictions.Where<RecebimentoVenda>(venda =>
                    venda.DataMovimento == Utils.Configuracao.DiaProcessamento &&
                    venda.Caixa ==caixa)).List<RecebimentoVenda>();
        }

        public static RecebimentoVenda CreateRecebimentoVendaByPedido(PagamentoPedido pag)
        {
            return new RecebimentoVenda()
            {
                DataMovimento = Utils.Configuracao.DiaProcessamento,
                Caixa = Utils.Terminal.ConfiguracaoEcf.Caixa,
                Usuario = Utils.UsuarioAtual,
                FormaPagamento = pag.FormaPagamento,
                Historico = "RECEBIMENTO DO PEDIDO " + pag.Pedido.Id + " PARCELA " + pag.Parcela,
                Valor = pag.ValorTotal
            };
        }
    }
}
